X=imread('wed2.jpg');
r=X(:,:,1);g=X(:,:,2);b=X(:,:,3);
Xgray=0.2126*r + 0.7152*g +0.0722*b;
original=figure;
set(original, 'name', 'Original BW','numbertitle','off')
imagesc(Xgray);colormap(gray)
axis square;
JPEG = [16, 11, 10, 16, 24, 40, 51, 61;
12, 12, 14, 19, 26, 58, 60, 55;
14, 13, 16, 24, 40, 57, 69, 56;
14, 17, 22, 29, 51, 87, 80, 62;
18, 22, 37, 56, 68, 109, 103, 77;
24, 35, 55, 64, 81, 104, 113, 92;
49, 64, 78, 87, 103, 121, 120, 101;
72, 92, 95, 98, 112, 100, 103, 99];
for i=1:75
for j=1:75
x=Xgray((i-1)*8+1:(i-1)*8+8,(j-1)*8+1:(j-1)*8+8);
xd=double(x);
xc=xd-128;
Y=dct(dct(xc')');
p=1;
Q=p*JPEG;
Yq=round(Y./Q);
Ydq=Yq.*Q;
Xdq=idct2(Ydq);
Xe=Xdq+128;
Xf=uint8(Xe);
Xout((i-1)*8+1:(i-1)*8+8,(j-1)*8+1:(j-1)*8+8)=Xf;
end
end
figure('name', 'After, p=1, JPEG suggested Matrix','numbertitle','off');
imagesc(Xout);colormap(gray)
axis square